home *** CD-ROM | disk | FTP | other *** search
- # CVS $Id: cberror.tcl,v 1.3 1995/02/03 16:54:20 zibi Exp $
- #
- # This tests the error callback routines
- #
-
-
- #
- # This handles the error without generating another error.
- proc errorCB {cbs} {
- set target [keylget cbs widget]
- set dialog [keylget cbs dialog]
- set result [keylget cbs result]
- set callback [keylget cbs callback]
-
- set str "Handling callback for <$target>"
- set str "$str \n result is <$result>"
- set str "$str \n callback is <$callback>"
-
- set txt [VtGetValues $dialog -userData]
- VtSetValues $txt -value $str
- }
-
- #
- # This handles an error, but generates an error of it's own
- #
- proc errorErrorCB {cbs} {
- echo "I'm dying...."
-
- # This generates an error
- continue
- }
-
- proc generateErrorCB {errStr cbs} {
- # This generates an error
- error $errStr
-
- echo "here"
- }
-
- global txt
-
- set app [VtOpen error]
-
- set dlog [VtFormDialog $app.form -errorCallback errorCB \
- -okCallback "generateErrorCB {OK buton} " \
- -wmCloseCallback "generateErrorCB wmCloseCallback" ]
-
- set errTxt [VtText $dlog.txt -rightSide FORM -rows 5 -columns 40 \
- -wordWrap ]
-
-
- VtSetValues $dlog -userData $errTxt
-
- set txt $errTxt
-
- VtPushButton $dlog.but1 -label "Handle Error" -callback "generateErrorCB Handle"
-
- VtPushButton $dlog.but2 -label "Error with Error" \
- -errorCallback errorErrorCB -callback "generateErrorCB bad"
-
- VtShow $dlog
-
- VtMainLoop
-